#Microservice# 阅读《浅析微服务架构 API 网关的作用》笔记

#Microservice# 阅读《浅析微服务架构 API 网关的作用》笔记

姚刚,吴海莉,王从镔.浅析微服务架构API网关的作用[J].信息系统工程,2020(12):16-18.


目录 Table of Contents


paper mindmap

阅读本论文后,主要讨论以下两点

  1. API 网关的架构
  2. API 网关的选型

API 网关的架构

paper architecture

Core

  • Core(核心网关)系统的功能主要是对客户请求的接收, 它将请求指向给上层的服务端,并且会把这些处理结果返回给客户端或下层服务端。
  • 可以以集群的形式部署,需要额外的负载均衡器,反向代理连接业务集群。
  • 可以实现核心的功能:认证鉴权、限流熔断、负载均衡、反向代理、服务编排、协议转换、日志记录、数据缓存、服务注册/发现和版本/灰度发布等。

Admin

  • Admin(网关管理)系统负责配置系统的各种策略,如: 限流、缓存以及告警等基础信息。
  • 可以以集群的形式部署,但是入口是统一的。
  • 可以实现管理的功能:API 单个管理、API 分组管理、SDK/文档生成、访问配置、流控配置、协议转换配置、数据缓存配置和监控告警配置等。

Monitor

  • Monitor(监控日志) 系统负责生成运维管理报表等。
  • 可以以集群的形式部署,采集可以多个节点进行。
  • 可以实现监控的功能:日志处理、生成报表和自动告警等。

持久层

  • 管理库:记录管理信息

  • 日志库:记录日志信息

  • Redis:缓存与限流

  • Zookeeper:服务注册与服务发现

paper architecture

OpenResty API Gateway

  • 在 OpenResty API Gateway 中主要实现安全、限流、缓存、日志、监控和身份认证等功能,另外还可以实现制定服务的注册、路由重写和负载均衡等策略。

Aggr API Gateway

  • 在 Aggr API Gateway 中可 以使用超时、缓存、熔断、重试、查询聚合等策略。

注:作者没有进一步阐述为什么需要分成两个网关,即 OpenResty API Gateway 和 Aggr API Gateway。

API 网关的选型

安全性

  • 用户密码使用加盐 sha256 加密
  • 租户密钥使用 Md5 加密

高可用

弹性伸缩

  • k8s 副本伸缩

热更新

  • MySQL 和 Redis 做数据同步

容灾备份

  • MySQL 主从备份

高性能

高并发

  • gin

大流量

  • 限流、熔断、降级

扩展性

  • 中间件的洋葱结构

生命周期管理

API Life Cycle

总结

本文提出了微服务 API 网关的通用设计架构,并指出在技术选型过程中需要考虑安全性、高可用、高性能、扩展性和生命周期管理等问题。


Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×